package com.hl.ruoyicsmshop.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单对象 order
 * 
 * @author ruoyi
 * @date 2025-08-06
 */
public class Order extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单ID */
    private Long orderId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 商品ID */
    @Excel(name = "商品ID")
    private Long goodsId;

    /** 商家ID */
    @Excel(name = "商家ID")
    private Long businessId;

    /** 商品规格信息 */
    @Excel(name = "商品规格信息")
    private String goodsSpecs;

    /** 支付价格 */
    @Excel(name = "支付价格")
    private BigDecimal orderPrice;

    /** 订单创建时间 */
    @Excel(name = "订单创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderCreateTime;

    /** 订单付款时间 */
    @Excel(name = "订单付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderPayTime;

    /** 订单发货时间 */
    @Excel(name = "订单发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderPostTime;

    /** 订单成交时间 */
    @Excel(name = "订单成交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderSuccessTime;

    /** 运费 */
    @Excel(name = "运费")
    private BigDecimal orderPostPrice;

    /** 订单状态(0-待支付,1-已支付,2-已发货,3-已完成,4-已取消) */
    @Excel(name = "订单状态(0-待支付,1-已支付,2-已发货,3-已完成,4-已取消)")
    private Integer orderStatus;

    /** 订单备注 */
    @Excel(name = "订单备注")
    private String orderComment;

    /** 订单单号 */
    @Excel(name = "订单单号")
    private String orderNumber;

    /** 订单物流单号 */
    @Excel(name = "订单物流单号")
    private String orderTrackNumber;

    /** 订单是否删除(0-未删除,1-已删除) */
    @Excel(name = "订单是否删除(0-未删除,1-已删除)")
    private Integer orderType;

    /** 地址ID */
    @Excel(name = "地址ID")
    private Long addressId;

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setGoodsId(Long goodsId) 
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() 
    {
        return goodsId;
    }

    public void setBusinessId(Long businessId) 
    {
        this.businessId = businessId;
    }

    public Long getBusinessId() 
    {
        return businessId;
    }

    public void setGoodsSpecs(String goodsSpecs) 
    {
        this.goodsSpecs = goodsSpecs;
    }

    public String getGoodsSpecs() 
    {
        return goodsSpecs;
    }

    public void setOrderPrice(BigDecimal orderPrice) 
    {
        this.orderPrice = orderPrice;
    }

    public BigDecimal getOrderPrice() 
    {
        return orderPrice;
    }

    public void setOrderCreateTime(Date orderCreateTime) 
    {
        this.orderCreateTime = orderCreateTime;
    }

    public Date getOrderCreateTime() 
    {
        return orderCreateTime;
    }

    public void setOrderPayTime(Date orderPayTime) 
    {
        this.orderPayTime = orderPayTime;
    }

    public Date getOrderPayTime() 
    {
        return orderPayTime;
    }

    public void setOrderPostTime(Date orderPostTime) 
    {
        this.orderPostTime = orderPostTime;
    }

    public Date getOrderPostTime() 
    {
        return orderPostTime;
    }

    public void setOrderSuccessTime(Date orderSuccessTime) 
    {
        this.orderSuccessTime = orderSuccessTime;
    }

    public Date getOrderSuccessTime() 
    {
        return orderSuccessTime;
    }

    public void setOrderPostPrice(BigDecimal orderPostPrice) 
    {
        this.orderPostPrice = orderPostPrice;
    }

    public BigDecimal getOrderPostPrice() 
    {
        return orderPostPrice;
    }

    public void setOrderStatus(Integer orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public Integer getOrderStatus() 
    {
        return orderStatus;
    }

    public void setOrderComment(String orderComment) 
    {
        this.orderComment = orderComment;
    }

    public String getOrderComment() 
    {
        return orderComment;
    }

    public void setOrderNumber(String orderNumber) 
    {
        this.orderNumber = orderNumber;
    }

    public String getOrderNumber() 
    {
        return orderNumber;
    }

    public void setOrderTrackNumber(String orderTrackNumber) 
    {
        this.orderTrackNumber = orderTrackNumber;
    }

    public String getOrderTrackNumber() 
    {
        return orderTrackNumber;
    }

    public void setOrderType(Integer orderType) 
    {
        this.orderType = orderType;
    }

    public Integer getOrderType() 
    {
        return orderType;
    }

    public void setAddressId(Long addressId) 
    {
        this.addressId = addressId;
    }

    public Long getAddressId() 
    {
        return addressId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("userId", getUserId())
            .append("goodsId", getGoodsId())
            .append("businessId", getBusinessId())
            .append("goodsSpecs", getGoodsSpecs())
            .append("orderPrice", getOrderPrice())
            .append("orderCreateTime", getOrderCreateTime())
            .append("orderPayTime", getOrderPayTime())
            .append("orderPostTime", getOrderPostTime())
            .append("orderSuccessTime", getOrderSuccessTime())
            .append("orderPostPrice", getOrderPostPrice())
            .append("orderStatus", getOrderStatus())
            .append("orderComment", getOrderComment())
            .append("orderNumber", getOrderNumber())
            .append("orderTrackNumber", getOrderTrackNumber())
            .append("orderType", getOrderType())
            .append("addressId", getAddressId())
            .toString();
    }
} 